package top.tangyh.lamp.care.vo.save;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@Data
@Schema(description =  "  护理记录配置表单/-新增入参")
public class CareRecordsConfigSaveVO implements Serializable {

    private static final long serialVersionUID = 1L;



    @Schema(description = "一级标题")
    @NotBlank(message="一级标题不能为空")
    private String title;

    @Schema(description = "权重")
    @NotNull(message = "权重不能为空")
    private Integer weights;

    @Schema(description = "字典value")
    private String dictValue;

    @Schema(description = "是否删除 0否1是")
    private Integer isDeleted;

    @Schema(description = "父id,如果是顶级父类就默认传0")
    @NotNull(message = "父id不能为null")
    private Long pid;

    @Schema(description = "显示行数")
    private Integer recordNum;

    @Schema(description = "'各模块对应的名称'")
    private  String modelName;

    @Schema(description = "各模块对应的类型，比如是出量还是入量;\n" +
            "观察项的类型：生命特征 呼吸参数 其他;\n" +
            "数据示例：crl-in、crl-out\n")
    private  String modelType;

//    @Schema(description = "观察项配置主表id,用来反查结构体子数据")
//    private  Long obsvCfgId;

    @Schema(description = "评估评分主表id,用来查询评分记录填值")
    private  Long pgId;

    @Schema(description =  "标识,或即观察标识，说明：为生命特征指标编码如spo2")
    private String obsvCode;

    @Schema(description =   "护理操作选项code")
    private String itemCode;

    @Schema(description =  "观察项选项单位")
    private String propUnit;

    @Schema(description = "观察项数据类型Enum,Struct...")
//    @TableField("obsv_data_type")
    private  String obsvDataType;

    @Schema(description = "枚举数据json ")
    private String enumMap;

    @Schema(description = "vte code ")
    private String vteCode;

    @Schema(description = "标题宽度")
    private Integer titieWidth;

    @Schema(description = "标题类型 标题类型：0 手动标题 1数据源标题")
    @NotNull(message = "标题类型不能为空")
    private Integer titleType;

    @Schema(description = "是否隐藏 是否隐藏:0 否 1 是")
    private Integer isVisible;

    @Schema(description = "拼接符 ")
    private String splicer;

    @Schema(description = "评分类型 ")
    private String pgType;

    @Schema(description = "详细的子配置信息")
    private List<CareRecordsConfigSaveVO> childNode;

}
